<script>
  //   给你一个字符串数组 words ，只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。

  //   美式键盘 中：

  //   第一行由字符 "qwertyuiop" 组成。
  //   第二行由字符 "asdfghjkl" 组成。
  //   第三行由字符 "zxcvbnm" 组成。

  //   来源：力扣（LeetCode）
  //   链接：https://leetcode.cn/problems/keyboard-row

  // 示例 1：

  // 输入：words = ["Hello","Alaska","Dad","Peace"]
  // 输出：["Alaska","Dad"]
  // 示例 2：

  // 输入：words = ["omk"]
  // 输出：[]

  /**
   * 键盘分为不同三行
   * 判断列表的首字母是在哪一行，在遍历所有单词，确认是否都在当前行
   * 有一个不满足就要退出
   * 根据isInc 的结果 确认是否 push
   * 最后返回
   */

  /**
   * @param {string[]} words
   * @return {string[]}
   */

  var findWords = function (words) {
    var row1 = 'qwertyuiop',
      row2 = 'asdfghjkl',
      row3 = 'zxcvbnm',
      res = [],
      ws = words.map((k) => k.toLowerCase());
    for (var i = 0; i < ws.length; i++) {
      var word = ws[i];
      var curRow = row1.includes(word[0])
        ? row1
        : row2.includes(word[0])
        ? row2
        : row3;
      var isInc = true;
      for (var j = 0; j < word.length; j++) {
        if (!curRow.includes(word[j])) {
          isInc = false;
          break;
        }
      }
      isInc && res.push(words[i]);
    }
    return res;
  };
</script>
